# output.cleanDistPath

- **Type:** `boolean | 'auto'`
- **Default:** `'auto'`

Whether to clean up all files under the output directory before the build starts (the output directory defaults to `dist`).

## Default Behavior

The default value of `output.cleanDistPath` is `'auto'`. If the output directory is a subdir of the project root path, Rsbuild will automatically clean all files under the build directory.

When [output.distPath.root](/config/output/dist-path) is an external directory, or equals to the project root directory, `cleanDistPath` is not enabled by default, to avoid accidentally deleting files from other directories.

```js
export default {
  output: {
    distPath: {
      root: '../../some-dir',
    },
  },
};
```

## Forced Switch

You can set `cleanDistPath` to `true` to force it to be enabled, or set it to `false` to force it to be disabled.

```js
export default {
  output: {
    cleanDistPath: true,
  },
};
```

## Conditional

If you only need to clean files in production mode, but not in development mode, you can configure it as:

```js
export default {
  output: {
    cleanDistPath: process.env.NODE_ENV === 'production',
  },
};
```
